package cn.tedu.oop2;
/*本类用作抽象类构造函数测试*/
/*抽象类是否有构造方法?有
既然抽象类不能实例化,为什么要有构造方法呢?
不是为了自己使用,而是为了子类创建对象时使用super();*/
public class AbstractDemo2 {
    public static void main(String[] args) {
        //抽象父类能否实例化?不可以!
        //Animal2 a = new Animal2();
        //创建子类对象
        Pig2 p = new Pig2();//子类普通类,可以创建对象
        Animal2 animal2 = new Pig2(); //同样类似子类对象创建,先创建父类对象,再创建子类对象
    }
}
//1.创建抽象父类
abstract class Animal2{
    public Animal2(){
        System.out.println("我是Animal2的构造方法");
    }
}
//2.创建子类
class Pig2 extends Animal2{
    //3.添加子类的无参构造
    public Pig2(){
        super();
        System.out.println("我是Pig2的构造方法");
    }
}